using Sheep_Breeding.Domain.production_a;
using Sheep_Breeding.ErrorCode;
using Sheep_Breeding.Read.Api.Dtos;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace Sheep_Breeding.Read.Api.OperationServices.IServices
{
    /// <summary>
    /// 母羊配种查询服务接口
    /// </summary>
    public interface IEweMatingServices
    {
        /// <summary>
        /// 获取母羊配种列表
        /// </summary>
        /// <param name="queryDto">查询条件</param>
        /// <returns>分页结果</returns>
        Task<ApiResult<ApiPaging<List<EweMatingListDto>>>> GetEweMatingListAsync(QueryEweMatingDto queryDto);

        /// <summary>
        /// 根据配种编号获取母羊配种详情
        /// </summary>
        /// <param name="breedingId">配种编号</param>
        /// <returns>母羊配种详情</returns>
        Task<ApiResult<Ewe_mating>> GetEweMatingById(string breedingId);

        /// <summary>
        /// 根据耳号获取母羊配种记录
        /// </summary>
        /// <param name="earNumber">耳号</param>
        /// <returns>母羊配种记录</returns>
        Task<ApiResult<Ewe_mating>> GetEweMatingByEarNumber(string earNumber);

        /// <summary>
        /// 主表+明细表联合分页查询（明细只取最新一条）
        /// </summary>
        Task<ApiResult<ApiPaging<List<EweMatingWithDetailDto>>>> GetEweMatingWithDetailList(SearchEweMatingDto searchDto);
    }
} 